package com.ysd.crm.mapper;

import java.util.List;

import com.ysd.crm.entity.Modules;
import com.ysd.crm.search.ModulesSearch;

public interface ModulesMapper {
	/**查询所有模块
	 * @return
	 */
	List<Modules> getAll();
	
	/**添加模块
	 * @param m
	 * @return
	 */
	int add(Modules m);
	
	/**修改模块
	 * @param m
	 * @return
	 */
	int update(Modules m);
	
	/**删除模块
	 * @return
	 */
	int delete(Modules modules);
	
	
	 /**根据模块父ID和模块名查询
	 * @param pid
	 * @param name
	 * @return 同名模块数量
	 */
	int getModuleByName(Modules m);
	
	/**查询拥有该模块的角色个数
	 * @param mid
	 * @return
	 */
	int getModuleUseNum(Integer mid);
	
	/**通过用户ID查询用户拥有的所有模块-txh
	 * @param uid
	 * @return
	 */
	List<Modules> getModulesByUid(String uid);
	
	/**根据角色ID查询所有模块和用户拥有的模块ID-txh
	 * @param rid
	 * @return
	 */
	List<String> getModulesByRid(String rid);
	
	
	/**给角色rid添加模块权限mids
	 * @param rid
	 * @param mid
	 * @return
	 */
	int addModuleByRid(String rid,List<String> mids);
	
	
	int delModuleByRid(String rid,List<String> mids);
	
	/**通过mid获得mid的模块
	 * @param mid
	 * @return
	 */
	List<String> getMidsByMid(String mid);
}
